package com.wm.dao;

import java.util.List;

import com.wm.bean.ResMenu;

/**
 * @author yangbo
 *
 * 2012-12-26
 */
public interface ResMenuDAO {
	
	/**
	 * 添加
	 * @param r
	 * @return
	 */
	public ResMenu saveResMenu(ResMenu r);
	
	/**
	 * 修改
	 * @param r
	 * @return
	 */
	public ResMenu updateResMenu(ResMenu r);
	
	/**
	 * 删除
	 * @param r
	 */
	public void removeResMenu(ResMenu r);
	
	/**
	 * 根据ID查询
	 * @param id
	 * @return
	 */
	public ResMenu findResMenuById(long id);
	
	/**
	 * 根据饭店ID查询
	 * @param resId
	 * @param isShow
	 * @return
	 */
	public List findResMenuByResIdIsShow(long resId,int isShow);
	
	/**
	 * 根据菜名首字母和是否显示查询
	 * @param menuInitials
	 * @param isShow
	 * @return
	 */
	public List findResMenuByMenuInitialsIsShow(String menuInitials,int isShow);
	
	/**
	 * 根据菜名的简拼和是否显示查询
	 * @param menuAnglic
	 * @param isShow
	 * @return
	 */
	public List findResMenuByMenuAnglicIsShow(String menuAnglic,int isShow);
	
	/**
	 * 根据菜名的全拼和是否显示查询
	 * @param menuPhonetic
	 * @param isShow
	 * @return
	 */
	public List findMenuByMenuPhoneticIsShow(String menuPhonetic,int isShow);
	
	/**
	 * 根据菜名和是否显示查询
	 * @param menuName
	 * @param isShow
	 * @return
	 */
	public List findMenuByMenuNameIsShow(String menuName,int isShow);
	
	/**
	 * 根据饭店ID、类型ID、是否显示查询
	 * @param resId
	 * @param typeId
	 * @param isShow
	 * @return
	 */
	public List findMenuByResIdTypeIdIsShow(long resId,long typeId,int isShow);
	
	/**
	 * 根据饭店ID、是否推荐、是否显示查询
	 * @param resId
	 * @param isPromotion
	 * @param isShow
	 * @return
	 */
	public List findMenuByResIdIsPromotionIsShow(long resId,int isPromotion,int isShow);
	
	/**
	 * 根据参数获取菜单对象列表
	 * @param menuName
	 * @param typeId
	 * @param isShow
	 * @param orderby
	 * @param ascOrDesc
	 * @param firstResult
	 * @param maxResults
	 * @return List
	 */
	public List findResMenus(long resId,String menuName,long typeId,int price,int isShow,String orderby,int ascOrDesc,int firstResult,int maxResults);
	
	/**
	 * 根据参数获取菜单对象个数
	 * @param menuName
	 * @param typeId
	 * @param isShow
	 * @return long
	 */
	public long getResMenuNum(long resId,String menuName,long typeId,int price,int isShow);
}
